4.4. Muuttujan arvon asettaminen Set-komennolla
Muuttujaa ei tarvitse erikseen esitellä muuttujaksi. Muuttuja syntyy, kun siihen laitetaan jokin arvo. Muuttujille annetaan arvot set-komennolla, jolle annetaan ensimmäisenä parametrina muuttujan nimi ja toisena parametrina muuttujaan sijoitettava arvo. Arvoa ei ole pakko antaa, mutta silloin muuttujan arvo ei muutu ja set -komento palauttaa vain muuttujan nykyisen arvon.
Esimerkiksi komentojen
set elukka "koira"
=>koira
set elukka
=>koira
jälkeen muuttujassa elukka on arvo koira. Kun muuttujaan sijoitetaan arvo eli viitataan sen nimeen, kirjoitetaan pelkkä muuttujan nimi, kuten edellisessä kome nnossa. Jos halutaan viitata muuttujan arvoon, laitetaan muuttujan nimen eteen dollarimerkki $.
Esimerkin
set elukka2 "$elukka"
=>koira
jälkeen muuttujassa elukka2 on myös arvo koira. Muuttujien avulla voi myös yhdistellä useampien muuttujien arvoja yhdeksi arvoksi, kuten seuraavassa esim erkissä:
set elukka2 "jänis"
set karvajalka "$elukka2$elukka"
=>jäniskoira
Käyttämällä heittomerkkejä voi muuttujaan laittaa arvon, joka sisältää välilyöntejä. Heittomerkkien sisällä ei myöskään puolipisteellä ole komen non vaihtumisen merkitystä. Muuttujan arvoon voi viitata heittomerkkien sisällä missä tahansa, kuten seuraavassa esimerkissä on tehty:
set nimi "Matti Meikäläinen"
set osoite "Meikäkuja 5"
set tiedot "Nimi: $nimi; osoite: $osoite"
=> Nimi: Matti Meikäläinen; osoite: Meikäkuja 5
Muuttujan voi hävittää komennolla unset, jolloin sen arvoon ei voi enää viitata ja sen viemä tila vapautuu keskusmuistista. Jos koneessa on muistia vähän, kannat taa isossa ohjelmassa tarpeettomia muuttujia hävittää silloin, kun niitä on paljon. Komennolle unset voi antaa parametrina yhden tai useamman muuttujan nimen. Esimerkissä
unset tiedot
unset nimi osoite
häviävät muuttujat tiedot, nimi ja osoite.
Muuttuja voi olla globaali (engl. global) tai paikallinen (engl. local). Globaaliin muuttujaan voidaan viitata missä tahansa kohtaa ohjelman koodissa, kun taas paikalliseen muuttujaan vain siinä aliohjelmassa, jo ssa se on luotu sijoittamalla siihen arvo. Paikalliset muuttujat pysyvät elossa vain aliohjelman suorituksen ajan ja ne häviävät (vertaa unset-komento) aliohjelman suorituksen päättyessä. Aina kun muuttuja luodaan, siitä tulee paikallinen muuttuja, ellei sitä olla erikseen esitelty globaaliksi muuttujaksi. Muuttuja esitellään globaaliksi komennolla global, kuten seuraavassa esimerkissä:
global yleinen_muuttuja
set yleinen_muuttuja "jokin arvo"
=>jokin arvo
Globaalin muuttujan voi hävittää kesken ohjelman suorituksen komennolla unset. Luvussa 4.8 kerrotaan lisää globaalien muuttujien käytöstä.
Luk-tutkielma: Tcl/Tk -opiksi ja iloksi.